package lib;

import lib.user.OrdinaryPerson;
import lib.user.AdminPeople;
import lib.user.User;

import java.util.Scanner;

/**
 * @author FBI
 * 2022-02-06 17:12
 */


public class Test {
    public static void main(String[] args) {
        //登录
        User user = login();
        while(true) {
            //user.menu() 调用哪个menu方法，根据登录身份决定
            int choice = user.menu();
            //choice选择当前用户数组中的相应的类，该类产生的对象调用自己的work方法
            user.doOperation(choice);
        }
    }

    //login（登录）方法返回用户实例，类型为User
    public static User login(){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的姓名: ");
        String name = sc.nextLine();
        System.out.println("请输入你的身份> 1:管理员 0:普通用户");
        int number = sc.nextInt();
        if(number == 1 || number == 0){
            return number == 1 ? new AdminPeople(name) : new OrdinaryPerson(name);
        }else{
            System.out.println("数字有误，请重新输入数字");
            //利用递归，使得用户不得不输入1或者0
            return login();
        }
    }
}